//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================
#ifndef __FSYS_H_
#define __FSYS_H_

#include <tfssys.h>

class fat_filesystem
{
public:
    Boolean OpenBlkDevice();
    Boolean NewDataStructure();
    Boolean InitFatfs();
    fat_filesystem(wchar_t *wchFsName, wchar_t *wchBlkDev);
    ~fat_filesystem();

    class fatfs_sharedata *p_Sharedata;
    class fat *pFat;
    class abc *pAbc;
    class FatDir* pFatDir;
    Boolean used;

private:
    wchar_t *pFsName;
    wchar_t *pBlkName;          /* Device this FS is mounted upon */
    PDevDriver pBlkDev;
    int rofs;                   /* Read-only filesystem? */
};

#endif //__FSYS_H_
